package com.xiangshizhineng.tianzhangzhi.app.model.dto;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.xiangshizhineng.tianzhangzhi.app.common.base.BaseDTO;
import com.xiangshizhineng.tianzhangzhi.app.utils.LongJsonSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;

@JsonInclude(JsonInclude.Include.NON_NULL)
@ApiModel("任务实体")
@Data
@EqualsAndHashCode(callSuper = true)
public class TaskDTO extends BaseDTO implements Serializable {

    /**
     * 任务编号
     */
    @ApiModelProperty(value = "任务编号", required = true)
    private String taskNum;
    /**
     * 任务名称
     */
    @ApiModelProperty(value = "任务名称", required = true, example = "111")
    private String taskName;
    /**
     * 任务类别(字典id)
     */
    @ApiModelProperty(value = "任务类别(字典id)", required = true, example = "111")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long taskTypeId;
    /**
     * 责任田长
     */
    @ApiModelProperty(value = "责任田长", required = true, example = "111")
    private String taskTz;
    /**
     * 巡查人id
     */
    @ApiModelProperty(value = "巡查人id", required = true, example = "111")
    private Long taskXcr;
    /**
     * 巡查时间
     */
    @ApiModelProperty(value = "巡查时间", required = true, example = "111")
    private Date taskTime;
    /**
     * 任务状态(任务状态)
     */
    @ApiModelProperty(value = "任务状态(任务状态)", required = true, example = "111")
    @JsonSerialize(using = LongJsonSerializer.class)
    private Long taskStatusId;
    /**
     * 行政区划代码
     */
    @ApiModelProperty(value = "行政区划代码", required = true, example = "111")
    private String xzqhdm;
    /**
     * 
     */
    @ApiModelProperty(value = "创建时间", required = true, example = "111")
    private Date createTime;
    /**
     * 
     */
    @ApiModelProperty(value = "修改时间", required = true, example = "111")
    private Date updateTime;
    /**
     * 图斑id
     */
    @ApiModelProperty(value = "图斑id", required = true, example = "111")
    private String tbId;
    /**
     * shape数据
     */
    @ApiModelProperty(value = "shape数据", required = true, example = "111")
    private String shape;
    /**
     * 批次
     */
    @ApiModelProperty(value = "批次", required = true, example = "111")
    private String production;

}
